1. Field of Invention
This invention relates to computing and in particular to the field of storing and accessing data in datastores.
2. Description of Related Art
One fundamental choice a developer makes when developing software is the selection of appropriate data structures to facilitate organizing and referencing data. Many different types of data structures are available, including linked lists, stacks, trees, arrays and others. Each data structure is associated with certain advantages and limitations.
The tree is a frequently-used data structure. One common form of tree is composed of a finite set of elements called nodes, linked together from a root to one or more internal nodes, each of which may be linked to one or more nodes, eventually ending in a number of leaf nodes. Data is typically stored in the nodes and can be referenced using the links from root to node to leaf and from parent to child and so on. Consequently, a hierarchal or sequential relationship may be attributed to data stored in the nodes of a tree structure.
One limitation of tree data structures is that typically a tree can only represent one hierarchy. One data structure that permits a plurality of hierarchies is an interlocking trees datastore. An interlocking trees datastore can be referred to as a KStore or merely a K. The structure of interlocking trees datastores, as well as the building and querying of the datastores, are described in U.S. patent application Ser. No. 10/385,421 (titled: SYSTEM AND METHOD FOR STORING AND ACCESSING DATA IN AN INTERLOCKING TREES DATASTORE, and filed on Mar. 10, 2003), Ser. No. 10/666,382 (titled: SYSTEM AND METHOD FOR STORING AND ACCESSING DATA IN AN INTERLOCKING TREES DATASTORE, and filed on Sep. 19, 2003) and Ser. No. 10/759,466 (titled: SAVING AND RESTORING AN INTERLOCKING TREES DATASTORE, and filed on Jan. 16, 2004).
The interlocking trees datastores are accessed by their engine using software that had to be custom built for each application. Furthermore, knowledge of the datastore itself was required in order to design the new interfaces required for each application requiring access to the interlocking trees datastore. Therefore, the use of the prior art datastore, K, with many different applications could be time consuming.
All references cited herein are incorporated herein by reference in their entireties.